import axios from 'axios'
import { useUserStore } from '@/stores/user';


const request = axios.create({
    //基础路径
    baseURL: 'http://71hi31ml3628.vicp.fun',
    timeout: 5000, //超时的时间的设置
})
//请求拦截器
request.interceptors.request.use((config) => {
    //config配置对象,headers属性请求头,经常给服务器端携带公共参数
    const UserStore = useUserStore()
    config.headers.Token = UserStore.token
    //返回配置对象
    return config
})
//响应拦截器
request.interceptors.response.use((response) => {
    //化简数据
    return response.data
}, (error) => {
    //失败回调:处理http网络错误的
    //定义一个变量:存储网络错误信息
    let message = ''
    //http状态码
    const status = error.response.status
    switch (status) {
        case 401:
            message = 'TOKEN过期'
            break
        case 403:
            message = '无权访问'
            break
        case 404:
            message = '请求地址错误'
            break
        case 500:
            message = '服务器出现问题'
            break
        default:
            message = '网络出现问题'
            break
    }
    //提示错误信息
    // eslint-disable-next-line no-undef
    showNotify({ type: 'danger', message });
    return Promise.reject(error)
})
export default request